library(googlesheets4) # read google sheets
library(tidyverse) # data wrangling, grammar, and manipulation
library(ggridges) # Density Plots
library(ggprism) # plots aesthetics
library(ggpubr) # plots aesthetics
library(table1) # Table 1
library(kableExtra) # Tables
library(rstatix) # Normality tests
library(lme4) # Linear Mixed Models
library(lmerTest)
library(stargazer)  #lmer and glmer mods tables
library(sjPlot) #for plotting and tableslmer and glmer mods
library(performance) # model performance and model comparison
library(flexplot)# estimates
library("sciRmdTheme") # rmarkdown theme
library(plotly)
library(irr) #ICC of JH

Overview

Biodex Data

sheet_url <- "https://docs.google.com/spreadsheets/d/1K_IxFkSIEeZF_idOxfCg7bdBrHA0q7JNbvxf0rYosvE/edit#gid=0"
biodex_data <- read_sheet(sheet_url, sheet = "Biodex Data")

jump_data <- read_sheet(sheet_url, sheet = "Jump Data")
biodex_data$Group <- factor(biodex_data$Group, levels = sort(unique(biodex_data$Group)))
biodex_data$ID <- as.factor(biodex_data$ID)

jump_data$Group <- factor(jump_data$Group, levels = sort(unique(jump_data$Group)))
jump_data$ID <- as.factor(jump_data$ID)

jump_data <- jump_data %>% mutate(JH_cm = JH * 100)
jump_data <- jump_data %>% mutate(Depth = abs(Depth))
jump_data <- jump_data %>% mutate(Depth_cm = Depth * 100)

biodex_data$Order <- 1
jump_data$Order <- 2

Df <- bind_rows(biodex_data, jump_data)
Df_long <- Df %>% select("Subject", "ID", "Age", "Height", "Weight","Bmi","BF", "Period","Group","JH","PT_E_R_B")

Distribuition plots

biodex_data %>%
  ggplot(aes(x=PTBW_E_R_B)) +
  geom_density(fill="blue", alpha=0.5) +
  ggtitle("Density of Age") +
  xlab("Peak Torque Extension (NM/BW") +
  ylab("Density") + theme_prism() + facet_grid(~Period)

biodex_data %>% group_by(Period, Group) %>% shapiro_test(PTBW_E_R_B)
## # A tibble: 18 × 5
##    Period       Group     variable   statistic     p
##    <chr>        <fct>     <chr>          <dbl> <dbl>
##  1 Baseline     trained   PTBW_E_R_B     0.914 0.384
##  2 Baseline     untrained PTBW_E_R_B     0.923 0.454
##  3 DY AG        trained   PTBW_E_R_B     0.941 0.619
##  4 DY AG        untrained PTBW_E_R_B     0.882 0.196
##  5 DY AG ANT    trained   PTBW_E_R_B     0.891 0.238
##  6 DY AG ANT    untrained PTBW_E_R_B     0.854 0.104
##  7 DY AG ST ANT trained   PTBW_E_R_B     0.908 0.341
##  8 DY AG ST ANT untrained PTBW_E_R_B     0.911 0.358
##  9 DY ANT       trained   PTBW_E_R_B     0.882 0.197
## 10 DY ANT       untrained PTBW_E_R_B     0.952 0.736
## 11 ST AG        trained   PTBW_E_R_B     0.968 0.883
## 12 ST AG        untrained PTBW_E_R_B     0.938 0.593
## 13 ST AG ANT    trained   PTBW_E_R_B     0.986 0.986
## 14 ST AG ANT    untrained PTBW_E_R_B     0.942 0.630
## 15 ST AG DY ANT trained   PTBW_E_R_B     0.975 0.933
## 16 ST AG DY ANT untrained PTBW_E_R_B     0.968 0.881
## 17 ST ANT       trained   PTBW_E_R_B     0.964 0.849
## 18 ST ANT       untrained PTBW_E_R_B     0.968 0.886
jump_data %>%
  ggplot(aes(x=JH )) +
  geom_density(fill="red", alpha=0.5) +
  ggtitle("Density of Height") +
  xlab("Jump Height (m)") +
  ylab("Density") + theme_prism()+ facet_grid(~Period)

jump_data %>% group_by(Period, Group) %>% shapiro_test(JH)
## # A tibble: 18 × 5
##    Period       Group     variable statistic      p
##    <chr>        <fct>     <chr>        <dbl>  <dbl>
##  1 Baseline     Trained   JH           0.881 0.191 
##  2 Baseline     Untrained JH           0.932 0.533 
##  3 DY AG        Trained   JH           0.939 0.600 
##  4 DY AG        Untrained JH           0.928 0.495 
##  5 DY AG ANT    Trained   JH           0.919 0.423 
##  6 DY AG ANT    Untrained JH           0.941 0.620 
##  7 DY AG ST ANT Trained   JH           0.866 0.137 
##  8 DY AG ST ANT Untrained JH           0.963 0.837 
##  9 DY ANT       Trained   JH           0.933 0.547 
## 10 DY ANT       Untrained JH           0.959 0.804 
## 11 ST AG        Trained   JH           0.913 0.375 
## 12 ST AG        Untrained JH           0.903 0.308 
## 13 ST AG ANT    Trained   JH           0.967 0.877 
## 14 ST AG ANT    Untrained JH           0.814 0.0408
## 15 ST AG DY ANT Trained   JH           0.807 0.0339
## 16 ST AG DY ANT Untrained JH           0.873 0.161 
## 17 ST ANT       Trained   JH           0.970 0.898 
## 18 ST ANT       Untrained JH           0.973 0.921
jump_data %>%
  ggplot(aes(x=RSI_mod )) +
  geom_density(fill="green", alpha=0.5) +
  ggtitle("Density of Height") +
  xlab("RSI modified") +
  ylab("Density") + theme_prism()+ facet_grid(~Period)

jump_data %>% group_by(Period, Group) %>% shapiro_test(RSI_mod)
## # A tibble: 18 × 5
##    Period       Group     variable statistic       p
##    <chr>        <fct>     <chr>        <dbl>   <dbl>
##  1 Baseline     Trained   RSI_mod      0.880 0.187  
##  2 Baseline     Untrained RSI_mod      0.919 0.425  
##  3 DY AG        Trained   RSI_mod      0.965 0.860  
##  4 DY AG        Untrained RSI_mod      0.981 0.966  
##  5 DY AG ANT    Trained   RSI_mod      0.922 0.444  
##  6 DY AG ANT    Untrained RSI_mod      0.933 0.547  
##  7 DY AG ST ANT Trained   RSI_mod      0.959 0.802  
##  8 DY AG ST ANT Untrained RSI_mod      0.938 0.592  
##  9 DY ANT       Trained   RSI_mod      0.720 0.00382
## 10 DY ANT       Untrained RSI_mod      0.853 0.103  
## 11 ST AG        Trained   RSI_mod      0.940 0.612  
## 12 ST AG        Untrained RSI_mod      0.944 0.647  
## 13 ST AG ANT    Trained   RSI_mod      0.954 0.753  
## 14 ST AG ANT    Untrained RSI_mod      0.890 0.232  
## 15 ST AG DY ANT Trained   RSI_mod      0.884 0.204  
## 16 ST AG DY ANT Untrained RSI_mod      0.896 0.268  
## 17 ST ANT       Trained   RSI_mod      0.889 0.228  
## 18 ST ANT       Untrained RSI_mod      0.906 0.324
ICC_JH <- jump_data %>% select(JH_1,JH_2,JH_3,JH_4,JH_5)
icc(ICC_JH, model = "twoway", 
  type = "consistency", unit = "average"  )
##  Average Score Intraclass Correlation
## 
##    Model: twoway 
##    Type : consistency 
## 
##    Subjects = 105 
##      Raters = 5 
##    ICC(C,5) = 0.908
## 
##  F-Test, H0: r0 = 0 ; H1: r0 > 0 
##  F(104,416) = 10.8 , p = 1.68e-71 
## 
##  95%-Confidence Interval for ICC Population Values:
##   0.877 < ICC < 0.933

Demographics

Demographics <- biodex_data %>%
  group_by(ID) %>%
  slice(1) %>%
  ungroup() %>% select(Group,Age,Height,Weight,Bmi,BF)

table1(~Age + Height + Weight + Bmi + BF | Group, data = Demographics)
trained
(N=8)
untrained
(N=8)
Overall
(N=16)
Age
Mean (SD) 23.8 (2.87) 25.8 (3.24) 24.8 (3.13)
Median [Min, Max] 22.5 [22.0, 30.0] 25.5 [22.0, 30.0] 23.5 [22.0, 30.0]
Height
Mean (SD) 1.73 (0.0792) 1.75 (0.0969) 1.74 (0.0861)
Median [Min, Max] 1.71 [1.64, 1.85] 1.75 [1.64, 1.87] 1.71 [1.64, 1.87]
Weight
Mean (SD) 83.6 (17.5) 87.4 (21.1) 85.5 (18.8)
Median [Min, Max] 79.7 [64.6, 117] 86.6 [61.0, 115] 82.3 [61.0, 117]
Bmi
Mean (SD) 27.7 (3.72) 28.2 (4.05) 28.0 (3.76)
Median [Min, Max] 27.7 [22.6, 34.1] 28.5 [22.5, 32.7] 28.0 [22.5, 34.1]
BF
Mean (SD) 24.3 (6.71) 26.5 (5.89) 25.4 (6.21)
Median [Min, Max] 25.5 [14.4, 33.0] 24.4 [20.4, 35.3] 24.4 [14.4, 35.3]

Biodex

PKET / BW

PKET_Group_MODEL <- lmer(PTBW_E_R_B ~ Group * Period +  (1  | ID), data = biodex_data)


summary(PKET_Group_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: PTBW_E_R_B ~ Group * Period + (1 | ID)
##    Data: biodex_data
## 
## REML criterion at convergence: 1349
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.5712 -0.3890  0.0601  0.4913  3.3912 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 2492     49.92   
##  Residual             1420     37.68   
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                                   Estimate Std. Error      df t value Pr(>|t|)
## (Intercept)                        252.537     22.112  29.668  11.421 2.21e-12
## Groupuntrained                     -38.000     31.271  29.668  -1.215  0.23388
## PeriodDY AG                         30.800     18.839 112.000   1.635  0.10487
## PeriodDY AG ANT                     23.350     18.839 112.000   1.239  0.21777
## PeriodDY AG ST ANT                  34.963     18.839 112.000   1.856  0.06610
## PeriodDY ANT                        11.725     18.839 112.000   0.622  0.53495
## PeriodST AG                         -2.725     18.839 112.000  -0.145  0.88525
## PeriodST AG ANT                      8.475     18.839 112.000   0.450  0.65368
## PeriodST AG DY ANT                 -25.662     18.839 112.000  -1.362  0.17586
## PeriodST ANT                        15.400     18.839 112.000   0.817  0.41540
## Groupuntrained:PeriodDY AG          10.837     26.642 112.000   0.407  0.68495
## Groupuntrained:PeriodDY AG ANT      37.550     26.642 112.000   1.409  0.16148
## Groupuntrained:PeriodDY AG ST ANT   33.462     26.642 112.000   1.256  0.21173
## Groupuntrained:PeriodDY ANT         30.325     26.642 112.000   1.138  0.25745
## Groupuntrained:PeriodST AG          13.750     26.642 112.000   0.516  0.60680
## Groupuntrained:PeriodST AG ANT      21.487     26.642 112.000   0.807  0.42165
## Groupuntrained:PeriodST AG DY ANT   89.900     26.642 112.000   3.374  0.00102
## Groupuntrained:PeriodST ANT         35.412     26.642 112.000   1.329  0.18649
##                                      
## (Intercept)                       ***
## Groupuntrained                       
## PeriodDY AG                          
## PeriodDY AG ANT                      
## PeriodDY AG ST ANT                .  
## PeriodDY ANT                         
## PeriodST AG                          
## PeriodST AG ANT                      
## PeriodST AG DY ANT                   
## PeriodST ANT                         
## Groupuntrained:PeriodDY AG           
## Groupuntrained:PeriodDY AG ANT       
## Groupuntrained:PeriodDY AG ST ANT    
## Groupuntrained:PeriodDY ANT          
## Groupuntrained:PeriodST AG           
## Groupuntrained:PeriodST AG ANT       
## Groupuntrained:PeriodST AG DY ANT ** 
## Groupuntrained:PeriodST ANT          
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it
# AIC and BIC values
aic_val <- AIC(PKET_Group_MODEL)
bic_val <- BIC(PKET_Group_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: 1389.026
cat("BIC:", bic_val, "\n")
## BIC: 1448.422
PKET_FULL_MODEL <- lmer(PTBW_E_R_B  ~ Period + Group  + BF  +  (1 | ID), 
                          data = biodex_data)
summary(PKET_FULL_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: PTBW_E_R_B ~ Period + Group + BF + (1 | ID)
##    Data: biodex_data
## 
## REML criterion at convergence: 1420.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -6.1891 -0.4391  0.0783  0.5011  2.5139 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 2048     45.25   
##  Residual             1501     38.75   
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                    Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)         331.092     51.967  13.840   6.371 1.83e-05 ***
## PeriodDY AG          36.219     13.699 120.000   2.644 0.009290 ** 
## PeriodDY AG ANT      42.125     13.699 120.000   3.075 0.002606 ** 
## PeriodDY AG ST ANT   51.694     13.699 120.000   3.774 0.000252 ***
## PeriodDY ANT         26.887     13.699 120.000   1.963 0.051989 .  
## PeriodST AG           4.150     13.699 120.000   0.303 0.762457    
## PeriodST AG ANT      19.219     13.699 120.000   1.403 0.163217    
## PeriodST AG DY ANT   19.288     13.699 120.000   1.408 0.161729    
## PeriodST ANT         33.106     13.699 120.000   2.417 0.017167 *  
## Groupuntrained        0.839     23.938  13.000   0.035 0.972574    
## BF                   -3.858      1.992  13.000  -1.937 0.074787 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PrDYAG PDYAGA PDYASA PDYANT PrSTAG PSTAGA PSTADA PSTANT
## PeriodDY AG -0.132                                                        
## PerdDYAGANT -0.132  0.500                                                 
## PrDYAGSTANT -0.132  0.500  0.500                                          
## PeriodDYANT -0.132  0.500  0.500  0.500                                   
## PeriodST AG -0.132  0.500  0.500  0.500  0.500                            
## PerdSTAGANT -0.132  0.500  0.500  0.500  0.500  0.500                     
## PrSTAGDYANT -0.132  0.500  0.500  0.500  0.500  0.500  0.500              
## PeriodSTANT -0.132  0.500  0.500  0.500  0.500  0.500  0.500  0.500       
## Groupuntrnd -0.051  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
## BF          -0.931  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
##             Grpntr
## PeriodDY AG       
## PerdDYAGANT       
## PrDYAGSTANT       
## PeriodDYANT       
## PeriodST AG       
## PerdSTAGANT       
## PrSTAGDYANT       
## PeriodSTANT       
## Groupuntrnd       
## BF          -0.184
# AIC and BIC values
aic_val <- AIC(PKET_FULL_MODEL)
bic_val <- BIC(PKET_FULL_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: 1446.885
cat("BIC:", bic_val, "\n")
## BIC: 1485.493
tab_model(PKET_FULL_MODEL, 
          collapse.ci = TRUE,
          p.style = "numeric_stars", show.aic = TRUE, digits=3, digits.re = 3)
  PTBW E R B
Predictors Estimates p
(Intercept) 331.092 ***
(228.289 – 433.895)
<0.001
Period [DY AG] 36.219 **
(9.119 – 63.318)
0.009
Period [DY AG ANT] 42.125 **
(15.025 – 69.225)
0.003
Period [DY AG ST ANT] 51.694 ***
(24.594 – 78.793)
<0.001
Period [DY ANT] 26.887
(-0.212 – 53.987)
0.052
Period [ST AG] 4.150
(-22.950 – 31.250)
0.762
Period [ST AG ANT] 19.219
(-7.881 – 46.318)
0.163
Period [ST AG DY ANT] 19.287
(-7.812 – 46.387)
0.162
Period [ST ANT] 33.106 *
(6.007 – 60.206)
0.017
Group [untrained] 0.839
(-46.516 – 48.194)
0.972
BF -3.858
(-7.799 – 0.082)
0.055
Random Effects
σ2 1501.281
τ00 ID 2047.643
ICC 0.577
N ID 16
Observations 144
Marginal R2 / Conditional R2 0.183 / 0.655
AIC 1446.885
  • p<0.05   ** p<0.01   *** p<0.001

Diagnostics

The model diagnostics seems to show that data meets all model assumptions

check_model(PKET_FULL_MODEL) 

Plots
plot_model(PKET_FULL_MODEL, title = "Peak Torque Knee Extension", 
  show.intercept = TRUE, show.values = TRUE, digits = 3, value.offset = 0.2) +
  theme_prism()

Extract coefficients and Create predictions plots

In this plot the jitter dots are the observed values with the predicted values from the LMM in the geom_lines for each participant

model_coefs <- coef(PKET_FULL_MODEL)$ID %>% 
  rename(Intercept = `(Intercept)`) %>% 
  rownames_to_column("ID") %>% 
  mutate(ID = as.factor(ID))

merged_data <- left_join(biodex_data, model_coefs, by = c("ID", "BF"))

merged_data$predicted_sprint <- predict(PKET_FULL_MODEL, newdata = merged_data)

p_PTKE_ID <-  ggplot(merged_data, aes(x = Period, y = PTBW_E_R_B, group = ID, color = ID)) + 
   geom_jitter(size=0.1) + labs(x= "Stretching Type",y="Peak Torque (Nm)",
                                title="Peak Knee Extension Invidual Responses") +
   geom_line(aes(y = predicted_sprint)) + 
   theme_prism() +
   theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1))+
   guides(color = FALSE)  # This line removes the color legend for ID
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
p_PTKE_ID

Outlier plot

outlier <- merged_data %>% filter(ID == "6" ) %>%
  ggplot(aes(x = Period, y = PTBW_E_R_B, group = ID, color = ID)) + 
   geom_point(size=0.1) + labs(x= "Stretching Type",y="Peak Torque (Nm)",
                                title="Peak Knee Extension Outlier Responses") +
   geom_line() + 
   theme_prism() +
   theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1))+
   guides(color = FALSE)  # This line removes the color legend for ID
ggplotly(outlier)

Plot model estimates

# Predict overall estimates without considering the random effects
overall_predictions <- predict(PKET_FULL_MODEL, newdata = biodex_data, re.form = NA)
biodex_data$overall_predictions <- overall_predictions


# Aggregate the predictions
biodex_data_agg <- biodex_data %>%
  group_by(Period) %>%
  summarise(mean_prediction = mean(overall_predictions, na.rm = TRUE))

p_PTKE_box <- biodex_data %>% 
  ggboxplot(x="Period", y="PTBW_E_R_B",color="Period", add="jitter",
  xlab = "Stretching Type", ylab = "Peak Torque (Nm)", title = "Peak Knee Extension")  + 
  geom_point(data=biodex_data_agg, aes(y=mean_prediction), color="red", size=3) + # Adding the aggregated model's estimates
  geom_line(data=biodex_data_agg, aes(y=mean_prediction, group=1), color="red", size=1) +
  theme_prism() +
  guides(color = FALSE)+
   theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1))
p_PTKE_box

PAvg pt

avgKET_FULL_MODEL <- lmer(Av_PT_E_R_B  ~ Period + Group  + BF  +  (1 | ID), 
                          data = biodex_data)
summary(avgKET_FULL_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Av_PT_E_R_B ~ Period + Group + BF + (1 | ID)
##    Data: biodex_data
## 
## REML criterion at convergence: 1381.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.8702 -0.5086  0.0797  0.5629  2.1822 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept)  772.8   27.80   
##  Residual             1191.2   34.51   
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                    Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)         122.691     33.703  14.652   3.640  0.00250 ** 
## PeriodDY AG          20.888     12.202 120.000   1.712  0.08953 .  
## PeriodDY AG ANT      37.706     12.202 120.000   3.090  0.00249 ** 
## PeriodDY AG ST ANT   50.294     12.202 120.000   4.122 6.96e-05 ***
## PeriodDY ANT         23.550     12.202 120.000   1.930  0.05597 .  
## PeriodST AG          13.200     12.202 120.000   1.082  0.28153    
## PeriodST AG ANT      20.681     12.202 120.000   1.695  0.09270 .  
## PeriodST AG DY ANT    9.431     12.202 120.000   0.773  0.44110    
## PeriodST ANT         28.838     12.202 120.000   2.363  0.01972 *  
## Groupuntrained       -1.822     15.304  13.000  -0.119  0.90707    
## BF                    1.801      1.273  13.000   1.415  0.18069    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PrDYAG PDYAGA PDYASA PDYANT PrSTAG PSTAGA PSTADA PSTANT
## PeriodDY AG -0.181                                                        
## PerdDYAGANT -0.181  0.500                                                 
## PrDYAGSTANT -0.181  0.500  0.500                                          
## PeriodDYANT -0.181  0.500  0.500  0.500                                   
## PeriodST AG -0.181  0.500  0.500  0.500  0.500                            
## PerdSTAGANT -0.181  0.500  0.500  0.500  0.500  0.500                     
## PrSTAGDYANT -0.181  0.500  0.500  0.500  0.500  0.500  0.500              
## PeriodSTANT -0.181  0.500  0.500  0.500  0.500  0.500  0.500  0.500       
## Groupuntrnd -0.050  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
## BF          -0.918  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
##             Grpntr
## PeriodDY AG       
## PerdDYAGANT       
## PrDYAGSTANT       
## PeriodDYANT       
## PeriodST AG       
## PerdSTAGANT       
## PrSTAGDYANT       
## PeriodSTANT       
## Groupuntrnd       
## BF          -0.184
# AIC and BIC values
aic_val <- AIC(avgKET_FULL_MODEL)
bic_val <- BIC(avgKET_FULL_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: 1407.49
cat("BIC:", bic_val, "\n")
## BIC: 1446.097
avgpowerKET_FULL_MODEL <- lmer(Av_Power_E_R_B  ~ Period + Group  + BF  +  (1 | ID), 
                          data = biodex_data)
summary(avgpowerKET_FULL_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Av_Power_E_R_B ~ Period + Group + BF + (1 | ID)
##    Data: biodex_data
## 
## REML criterion at convergence: 1428.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2904 -0.4077  0.0631  0.4063  8.1223 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept)  154.3   12.42   
##  Residual             1937.3   44.01   
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                    Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)        102.6406    23.3325  20.0641   4.399 0.000275 ***
## PeriodDY AG         20.0000    15.5615 120.0000   1.285 0.201191    
## PeriodDY AG ANT     33.5687    15.5615 120.0000   2.157 0.032987 *  
## PeriodDY AG ST ANT  40.3125    15.5615 120.0000   2.591 0.010770 *  
## PeriodDY ANT        20.9687    15.5615 120.0000   1.347 0.180367    
## PeriodST AG          9.3375    15.5615 120.0000   0.600 0.549613    
## PeriodST AG ANT     10.6250    15.5615 120.0000   0.683 0.496066    
## PeriodST AG DY ANT  32.2125    15.5615 120.0000   2.070 0.040597 *  
## PeriodST ANT        25.7250    15.5615 120.0000   1.653 0.100922    
## Groupuntrained       8.7443     9.7792  13.0000   0.894 0.387484    
## BF                   0.5311     0.8137  13.0000   0.653 0.525316    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PrDYAG PDYAGA PDYASA PDYANT PrSTAG PSTAGA PSTADA PSTANT
## PeriodDY AG -0.333                                                        
## PerdDYAGANT -0.333  0.500                                                 
## PrDYAGSTANT -0.333  0.500  0.500                                          
## PeriodDYANT -0.333  0.500  0.500  0.500                                   
## PeriodST AG -0.333  0.500  0.500  0.500  0.500                            
## PerdSTAGANT -0.333  0.500  0.500  0.500  0.500  0.500                     
## PrSTAGDYANT -0.333  0.500  0.500  0.500  0.500  0.500  0.500              
## PeriodSTANT -0.333  0.500  0.500  0.500  0.500  0.500  0.500  0.500       
## Groupuntrnd -0.047  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
## BF          -0.847  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
##             Grpntr
## PeriodDY AG       
## PerdDYAGANT       
## PrDYAGSTANT       
## PeriodDYANT       
## PeriodST AG       
## PerdSTAGANT       
## PrSTAGDYANT       
## PeriodSTANT       
## Groupuntrnd       
## BF          -0.184
# AIC and BIC values
aic_val <- AIC(avgpowerKET_FULL_MODEL)
bic_val <- BIC(avgpowerKET_FULL_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: 1454.206
cat("BIC:", bic_val, "\n")
## BIC: 1492.814
ratioKET_FULL_MODEL <- lmer(AGANT_Ratio_R_B  ~ Period + Group  + BF  +  (1 | ID), 
                          data = biodex_data)
summary(ratioKET_FULL_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: AGANT_Ratio_R_B ~ Period + Group + BF + (1 | ID)
##    Data: biodex_data
## 
## REML criterion at convergence: 1040.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8662 -0.4459  0.0015  0.4309  3.8471 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 62.44    7.902   
##  Residual             91.49    9.565   
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                     Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)         46.47661    9.53353  14.58015   4.875 0.000219 ***
## PeriodDY AG         -0.94750    3.38169 120.00000  -0.280 0.779818    
## PeriodDY AG ANT      1.48000    3.38169 120.00000   0.438 0.662426    
## PeriodDY AG ST ANT  -0.49687    3.38169 120.00000  -0.147 0.883433    
## PeriodDY ANT         0.97563    3.38169 120.00000   0.289 0.773460    
## PeriodST AG          2.54688    3.38169 120.00000   0.753 0.452843    
## PeriodST AG ANT     -1.11375    3.38169 120.00000  -0.329 0.742468    
## PeriodST AG DY ANT   2.15375    3.38169 120.00000   0.637 0.525413    
## PeriodST ANT         5.71750    3.38169 120.00000   1.691 0.093486 .  
## Groupuntrained       2.19376    4.33444  13.00000   0.506 0.621244    
## BF                  -0.03528    0.36066  13.00000  -0.098 0.923559    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PrDYAG PDYAGA PDYASA PDYANT PrSTAG PSTAGA PSTADA PSTANT
## PeriodDY AG -0.177                                                        
## PerdDYAGANT -0.177  0.500                                                 
## PrDYAGSTANT -0.177  0.500  0.500                                          
## PeriodDYANT -0.177  0.500  0.500  0.500                                   
## PeriodST AG -0.177  0.500  0.500  0.500  0.500                            
## PerdSTAGANT -0.177  0.500  0.500  0.500  0.500  0.500                     
## PrSTAGDYANT -0.177  0.500  0.500  0.500  0.500  0.500  0.500              
## PeriodSTANT -0.177  0.500  0.500  0.500  0.500  0.500  0.500  0.500       
## Groupuntrnd -0.050  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
## BF          -0.919  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
##             Grpntr
## PeriodDY AG       
## PerdDYAGANT       
## PrDYAGSTANT       
## PeriodDYANT       
## PeriodST AG       
## PerdSTAGANT       
## PrSTAGDYANT       
## PeriodSTANT       
## Groupuntrnd       
## BF          -0.184
# AIC and BIC values
aic_val <- AIC(ratioKET_FULL_MODEL)
bic_val <- BIC(ratioKET_FULL_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: 1066.709
cat("BIC:", bic_val, "\n")
## BIC: 1105.316

Vertical Jump Data

JH_Group_MODEL <- lmer(JH_cm ~ Group * Period +  (1  | ID), data = jump_data)


summary(JH_Group_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: JH_cm ~ Group * Period + (1 | ID)
##    Data: jump_data
## 
## REML criterion at convergence: 706.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.3704 -0.4794 -0.0185  0.4741  3.8970 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 8.872    2.979   
##  Residual             9.199    3.033   
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                                     Estimate Std. Error         df t value
## (Intercept)                        3.413e+01  1.503e+00  4.303e+01  22.705
## GroupUntrained                    -8.250e+00  2.126e+00  4.303e+01  -3.881
## PeriodDY AG                        1.250e-01  1.517e+00  1.120e+02   0.082
## PeriodDY AG ANT                    7.500e-01  1.517e+00  1.120e+02   0.495
## PeriodDY AG ST ANT                 2.250e+00  1.517e+00  1.120e+02   1.484
## PeriodDY ANT                      -1.975e-13  1.517e+00  1.120e+02   0.000
## PeriodST AG                       -1.250e-01  1.517e+00  1.120e+02  -0.082
## PeriodST AG ANT                   -2.500e-01  1.517e+00  1.120e+02  -0.165
## PeriodST AG DY ANT                 1.250e-01  1.517e+00  1.120e+02   0.082
## PeriodST ANT                       1.500e+00  1.517e+00  1.120e+02   0.989
## GroupUntrained:PeriodDY AG         1.875e+00  2.145e+00  1.120e+02   0.874
## GroupUntrained:PeriodDY AG ANT     3.000e+00  2.145e+00  1.120e+02   1.399
## GroupUntrained:PeriodDY AG ST ANT  6.250e-01  2.145e+00  1.120e+02   0.291
## GroupUntrained:PeriodDY ANT        2.000e+00  2.145e+00  1.120e+02   0.933
## GroupUntrained:PeriodST AG         1.000e+00  2.145e+00  1.120e+02   0.466
## GroupUntrained:PeriodST AG ANT     2.125e+00  2.145e+00  1.120e+02   0.991
## GroupUntrained:PeriodST AG DY ANT  1.625e+00  2.145e+00  1.120e+02   0.758
## GroupUntrained:PeriodST ANT        1.000e+00  2.145e+00  1.120e+02   0.466
##                                   Pr(>|t|)    
## (Intercept)                        < 2e-16 ***
## GroupUntrained                    0.000352 ***
## PeriodDY AG                       0.934456    
## PeriodDY AG ANT                   0.621886    
## PeriodDY AG ST ANT                0.140709    
## PeriodDY ANT                      1.000000    
## PeriodST AG                       0.934456    
## PeriodST AG ANT                   0.869359    
## PeriodST AG DY ANT                0.934456    
## PeriodST ANT                      0.324745    
## GroupUntrained:PeriodDY AG        0.383852    
## GroupUntrained:PeriodDY AG ANT    0.164635    
## GroupUntrained:PeriodDY AG ST ANT 0.771271    
## GroupUntrained:PeriodDY ANT       0.353066    
## GroupUntrained:PeriodST AG        0.641930    
## GroupUntrained:PeriodST AG ANT    0.323910    
## GroupUntrained:PeriodST AG DY ANT 0.450231    
## GroupUntrained:PeriodST ANT       0.641930    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it
# AIC and BIC values
aic_val <- AIC(JH_Group_MODEL)
bic_val <- BIC(JH_Group_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: 746.3944
cat("BIC:", bic_val, "\n")
## BIC: 805.7907
JH_OPT_MODEL <- lmer(JH_cm ~  Period + BF + Weight  + (1  + Depth_cm| ID), data = jump_data)


summary(JH_OPT_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: JH_cm ~ Period + BF + Weight + (1 + Depth_cm | ID)
##    Data: jump_data
## 
## REML criterion at convergence: 734.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0600 -0.4814 -0.0121  0.4912  3.7058 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev. Corr 
##  ID       (Intercept) 161.6899 12.7157       
##           Depth_cm      0.2635  0.5133  -0.99
##  Residual               7.3301  2.7074       
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                     Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)         29.82276    3.37544   6.72742   8.835 6.08e-05 ***
## PeriodDY AG          1.01561    0.97105 111.89782   1.046   0.2979    
## PeriodDY AG ANT      2.03852    0.98993 111.47666   2.059   0.0418 *  
## PeriodDY AG ST ANT   1.57739    1.00723 113.52988   1.566   0.1201    
## PeriodDY ANT         0.64131    0.97645 114.60066   0.657   0.5126    
## PeriodST AG          0.33493    0.97605 113.85160   0.343   0.7321    
## PeriodST AG ANT      0.40290    0.97049 112.70082   0.415   0.6788    
## PeriodST AG DY ANT   0.44793    0.97613 113.62907   0.459   0.6472    
## PeriodST ANT         2.02325    0.98382 115.69261   2.057   0.0420 *  
## BF                  -0.30885    0.17897   9.67892  -1.726   0.1161    
## Weight               0.08598    0.05963   9.28322   1.442   0.1822    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PrDYAG PDYAGA PDYASA PDYANT PrSTAG PSTAGA PSTADA PSTANT
## PeriodDY AG -0.145                                                        
## PerdDYAGANT -0.175  0.507                                                 
## PrDYAGSTANT -0.179  0.502  0.529                                          
## PeriodDYANT -0.141  0.507  0.509  0.510                                   
## PeriodST AG -0.126  0.510  0.507  0.503  0.514                            
## PerdSTAGANT -0.116  0.499  0.508  0.504  0.499  0.497                     
## PrSTAGDYANT -0.137  0.502  0.499  0.496  0.503  0.508  0.496              
## PeriodSTANT -0.133  0.504  0.507  0.501  0.513  0.512  0.496  0.507       
## BF          -0.199 -0.004 -0.049 -0.072  0.004  0.015 -0.074 -0.037 -0.024
## Weight      -0.451  0.012  0.078  0.104  0.002 -0.018  0.056  0.034  0.022
##             BF    
## PeriodDY AG       
## PerdDYAGANT       
## PrDYAGSTANT       
## PeriodDYANT       
## PeriodST AG       
## PerdSTAGANT       
## PrSTAGDYANT       
## PeriodSTANT       
## BF                
## Weight      -0.767
# AIC and BIC values
aic_val <- AIC(JH_OPT_MODEL)
bic_val <- BIC(JH_OPT_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: 764.1869
cat("BIC:", bic_val, "\n")
## BIC: 808.7341

Diagnostics

The model diagnostics seems to show that data meets all model assumptions

check_model(JH_OPT_MODEL) 

Plots
plot_model(JH_OPT_MODEL, title = "Vertical Jump Height", 
  show.intercept = TRUE, show.values = TRUE, digits = 3, value.offset = 0.2) +
  theme_prism()

Extract coefficients and Create predictions plots

In this plot the jitter dots are the observed values with the predicted values from the LMM in the geom_lines for each participant

model_coefs <- coef(JH_OPT_MODEL)$ID %>% 
  rename(Intercept = `(Intercept)`) %>% 
  rownames_to_column("ID") %>% 
  mutate(ID = as.factor(ID))

merged_data <- left_join(jump_data, model_coefs, by = c("ID", "Weight", "BF", "Depth_cm"))

merged_data$predicted_jump <- predict(JH_OPT_MODEL, newdata = merged_data)

p_JH_ID <-  ggplot(merged_data, aes(x = Period, y = JH_cm, group = ID, color = ID)) + 
   geom_jitter(size=0.1) + labs(x= "Stretching Type",y="Height (cm)",
                               title= "Jump Height Individual Responses") +
   geom_line(aes(y = predicted_jump)) + 
   theme_prism() +
   theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1))+
   guides(color = FALSE)  # This line removes the color legend for ID
p_JH_ID

Plot model estimates

# Predict overall estimates without considering the random effects
overall_predictions <- predict(JH_OPT_MODEL, newdata = jump_data, re.form = NA)
jump_data$overall_predictions <- overall_predictions


# Aggregate the predictions
jump_data_agg <- jump_data %>%
  group_by(Period) %>%
  summarise(mean_prediction = mean(overall_predictions, na.rm = TRUE))

jump_data$Group <- factor(jump_data$Group, levels = sort(unique(jump_data$Group)))


p_JH_box <- jump_data %>% 
  ggboxplot(x="Period", y="JH_cm",color="Period", add="jitter",
  xlab = "Stretching Type", ylab = "Height (cm)", title = "Vertical Jump Height")  + 
  geom_point(data=jump_data_agg, aes(y=mean_prediction), color="red", size=3) + # Adding the aggregated model's estimates
  geom_line(data=jump_data_agg, aes(y=mean_prediction, group=1), color="red", size=1) +
  theme_prism() +
  guides(color = FALSE)+
   theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1))
p_JH_box

ggarrange(p_PTKE_box,p_PTKE_ID,p_JH_box,p_JH_ID)

ggsave("Torque_JH.png")
## Saving 11 x 10 in image
RSImod_OPT_MODEL <- lmer(RSI_mod ~ Group + Period + BF + Weight +Depth_cm + (1 + Depth_cm | ID), data = jump_data)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## unable to evaluate scaled gradient
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge: degenerate Hessian with 1 negative eigenvalues
## Warning: Model failed to converge with 1 negative eigenvalue: -1.1e+00
summary(RSImod_OPT_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: RSI_mod ~ Group + Period + BF + Weight + Depth_cm + (1 + Depth_cm |  
##     ID)
##    Data: jump_data
## 
## REML criterion at convergence: 142.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.1299 -0.4976 -0.1045  0.3414  5.0312 
## 
## Random effects:
##  Groups   Name        Variance  Std.Dev. Corr 
##  ID       (Intercept) 1.573e-05 0.003966      
##           Depth_cm    1.659e-04 0.012881 -0.63
##  Residual             8.956e-02 0.299262      
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                      Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)          0.468857   0.454506   9.844051   1.032 0.326949    
## GroupUntrained       0.433052   0.179238   7.065416   2.416 0.046041 *  
## PeriodDY AG         -0.125452   0.106193 118.407166  -1.181 0.239829    
## PeriodDY AG ANT     -0.301816   0.106947 119.870936  -2.822 0.005587 ** 
## PeriodDY AG ST ANT  -0.248867   0.109480 121.539996  -2.273 0.024771 *  
## PeriodDY ANT        -0.086719   0.106602 119.173309  -0.813 0.417562    
## PeriodST AG         -0.118174   0.106214 118.382603  -1.113 0.268133    
## PeriodST AG ANT     -0.124406   0.105910 117.774239  -1.175 0.242509    
## PeriodST AG DY ANT  -0.015773   0.107096 119.759983  -0.147 0.883159    
## PeriodST ANT        -0.226123   0.106209 118.252485  -2.129 0.035326 *  
## BF                   0.002982   0.020034   6.616414   0.149 0.886094    
## Weight               0.003761   0.006517   5.308064   0.577 0.587474    
## Depth_cm             0.033989   0.009065  45.336062   3.749 0.000501 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation matrix not shown by default, as p = 13 > 12.
## Use print(x, correlation=TRUE)  or
##     vcov(x)        if you need it
## optimizer (nloptwrap) convergence code: 0 (OK)
## unable to evaluate scaled gradient
## Model failed to converge: degenerate  Hessian with 1 negative eigenvalues
# AIC and BIC values
aic_val <- AIC(RSImod_OPT_MODEL)
bic_val <- BIC(RSImod_OPT_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: 176.5005
cat("BIC:", bic_val, "\n")
## BIC: 226.9873
Impulse_OPT_MODEL <- lmer(Relative_net_impulse ~  Period + BF + Weight + Depth_cm + (1  + Depth_cm| ID), data = jump_data)
## boundary (singular) fit: see help('isSingular')
summary(Impulse_OPT_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Relative_net_impulse ~ Period + BF + Weight + Depth_cm + (1 +  
##     Depth_cm | ID)
##    Data: jump_data
## 
## REML criterion at convergence: -61.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.8001 -0.5075 -0.1722  0.2720  5.9999 
## 
## Random effects:
##  Groups   Name        Variance  Std.Dev. Corr 
##  ID       (Intercept) 1.962e-02 0.140089      
##           Depth_cm    5.741e-05 0.007577 -1.00
##  Residual             2.154e-02 0.146782      
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                      Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)          0.376408   0.116639  30.735494   3.227 0.002967 ** 
## PeriodDY AG          0.003520   0.052030 120.370145   0.068 0.946174    
## PeriodDY AG ANT     -0.034345   0.052205 120.562994  -0.658 0.511869    
## PeriodDY AG ST ANT  -0.022749   0.052654 121.338816  -0.432 0.666474    
## PeriodDY ANT         0.053374   0.052108 120.827567   1.024 0.307736    
## PeriodST AG         -0.026650   0.052067 120.876215  -0.512 0.609698    
## PeriodST AG ANT      0.005221   0.051984 120.429834   0.100 0.920168    
## PeriodST AG DY ANT  -0.005941   0.052183 120.938262  -0.114 0.909541    
## PeriodST ANT        -0.046175   0.052070 120.669813  -0.887 0.376958    
## BF                   0.002933   0.004618  46.496772   0.635 0.528518    
## Weight               0.003784   0.001553  80.434488   2.437 0.017024 *  
## Depth_cm             0.012098   0.002959  18.419307   4.088 0.000662 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PrDYAG PDYAGA PDYASA PDYANT PrSTAG PSTAGA PSTADA PSTANT
## PeriodDY AG -0.212                                                        
## PerdDYAGANT -0.213  0.502                                                 
## PrDYAGSTANT -0.186  0.499  0.505                                          
## PeriodDYANT -0.199  0.502  0.502  0.502                                   
## PeriodST AG -0.205  0.502  0.501  0.498  0.503                            
## PerdSTAGANT -0.203  0.500  0.500  0.497  0.499  0.499                     
## PrSTAGDYANT -0.207  0.500  0.499  0.497  0.500  0.501  0.497              
## PeriodSTANT -0.210  0.501  0.501  0.496  0.501  0.502  0.499  0.501       
## BF          -0.423 -0.018 -0.023 -0.035 -0.021 -0.020 -0.027 -0.036 -0.028
## Weight      -0.285  0.026  0.049  0.066  0.024  0.017  0.013  0.046  0.028
## Depth_cm    -0.296 -0.028 -0.058 -0.107 -0.042 -0.023 -0.007 -0.049 -0.022
##             BF     Weight
## PeriodDY AG              
## PerdDYAGANT              
## PrDYAGSTANT              
## PeriodDYANT              
## PeriodST AG              
## PerdSTAGANT              
## PrSTAGDYANT              
## PeriodSTANT              
## BF                       
## Weight      -0.586       
## Depth_cm     0.122 -0.366
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
# AIC and BIC values
aic_val <- AIC(Impulse_OPT_MODEL)
bic_val <- BIC(Impulse_OPT_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: -29.30643
cat("BIC:", bic_val, "\n")
## BIC: 18.21058
PF_OPT_MODEL <- lmer(Jump_time ~  Period + BF + Weight + Depth_cm + (1  + Depth_cm| ID), data = jump_data)
## boundary (singular) fit: see help('isSingular')
summary(PF_OPT_MODEL)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Jump_time ~ Period + BF + Weight + Depth_cm + (1 + Depth_cm |      ID)
##    Data: jump_data
## 
## REML criterion at convergence: -215.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.2556 -0.6041 -0.2001  0.2627  4.7141 
## 
## Random effects:
##  Groups   Name        Variance  Std.Dev. Corr 
##  ID       (Intercept) 2.439e-03 0.049385      
##           Depth_cm    4.901e-06 0.002214 -1.00
##  Residual             7.337e-03 0.085656      
## Number of obs: 144, groups:  ID, 16
## 
## Fixed effects:
##                      Estimate Std. Error         df t value Pr(>|t|)  
## (Intercept)         8.338e-02  5.013e-02  3.736e+01   1.663   0.1046  
## PeriodDY AG         5.000e-03  3.034e-02  1.243e+02   0.165   0.8694  
## PeriodDY AG ANT    -3.276e-02  3.044e-02  1.249e+02  -1.076   0.2839  
## PeriodDY AG ST ANT -1.667e-02  3.065e-02  1.253e+02  -0.544   0.5875  
## PeriodDY ANT        1.184e-02  3.036e-02  1.244e+02   0.390   0.6972  
## PeriodST AG        -8.176e-03  3.034e-02  1.245e+02  -0.269   0.7880  
## PeriodST AG ANT     1.190e-02  3.032e-02  1.243e+02   0.393   0.6953  
## PeriodST AG DY ANT -1.286e-02  3.038e-02  1.245e+02  -0.423   0.6729  
## PeriodST ANT       -2.182e-02  3.035e-02  1.247e+02  -0.719   0.4736  
## BF                  3.926e-03  2.069e-03  3.579e+01   1.898   0.0659 .
## Weight              3.961e-04  7.557e-04  3.592e+01   0.524   0.6034  
## Depth_cm           -5.797e-05  1.281e-03  1.379e+01  -0.045   0.9645  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PrDYAG PDYAGA PDYASA PDYANT PrSTAG PSTAGA PSTADA PSTANT
## PeriodDY AG -0.288                                                        
## PerdDYAGANT -0.279  0.502                                                 
## PrDYAGSTANT -0.258  0.500  0.506                                          
## PeriodDYANT -0.283  0.502  0.502  0.502                                   
## PeriodST AG -0.287  0.501  0.501  0.500  0.502                            
## PerdSTAGANT -0.289  0.500  0.501  0.499  0.500  0.500                     
## PrSTAGDYANT -0.281  0.501  0.501  0.501  0.501  0.501  0.500              
## PeriodSTANT -0.291  0.501  0.501  0.499  0.501  0.501  0.500  0.501       
## BF          -0.305 -0.014 -0.030 -0.049 -0.016 -0.011 -0.020 -0.024 -0.015
## Weight      -0.197  0.021  0.047  0.077  0.026  0.015  0.018  0.033  0.022
## Depth_cm    -0.368 -0.036 -0.070 -0.125 -0.048 -0.031 -0.021 -0.055 -0.031
##             BF     Weight
## PeriodDY AG              
## PerdDYAGANT              
## PrDYAGSTANT              
## PeriodDYANT              
## PeriodST AG              
## PerdSTAGANT              
## PrSTAGDYANT              
## PeriodSTANT              
## BF                       
## Weight      -0.726       
## Depth_cm     0.270 -0.461
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
# AIC and BIC values
aic_val <- AIC(PF_OPT_MODEL)
bic_val <- BIC(PF_OPT_MODEL)
cat("AIC:", aic_val, "\n")
## AIC: -183.927
cat("BIC:", bic_val, "\n")
## BIC: -136.41
tab_model(PKET_FULL_MODEL,avgKET_FULL_MODEL,avgpowerKET_FULL_MODEL,
          dv.labels = c("Peak Torque Knee Extension (N-m/bw)", "Average Torque Knee Extension (N-m)",
                        "Average Power Knee Extension (Watts)"),
          show.reflvl = T, show.intercept = T, p.style = "numeric_stars", collapse.ci = TRUE) 
  Peak Torque Knee Extension (N-m/bw) Average Torque Knee Extension (N-m) Average Power Knee Extension (Watts)
Predictors Estimates p Estimates p Estimates p
(Intercept) 331.09 ***
(228.29 – 433.89)
<0.001 122.69 ***
(56.02 – 189.36)
<0.001 102.64 ***
(56.48 – 148.80)
<0.001
BF -3.86
(-7.80 – 0.08)
0.055 1.80
(-0.72 – 4.32)
0.160 0.53
(-1.08 – 2.14)
0.515
trained Reference Reference Reference
untrained 0.84
(-46.52 – 48.19)
0.972 -1.82
(-32.10 – 28.45)
0.905 8.74
(-10.60 – 28.09)
0.373
PeriodDY AG 36.22 **
(9.12 – 63.32)
0.009 20.89
(-3.25 – 45.03)
0.089 20.00
(-10.78 – 50.78)
0.201
PeriodDY AG ANT 42.12 **
(15.03 – 69.22)
0.003 37.71 **
(13.57 – 61.85)
0.002 33.57 *
(2.78 – 64.35)
0.033
PeriodDY AG ST ANT 51.69 ***
(24.59 – 78.79)
<0.001 50.29 ***
(26.15 – 74.43)
<0.001 40.31 *
(9.53 – 71.10)
0.011
PeriodDY ANT 26.89
(-0.21 – 53.99)
0.052 23.55
(-0.59 – 47.69)
0.056 20.97
(-9.82 – 51.75)
0.180
PeriodST AG 4.15
(-22.95 – 31.25)
0.762 13.20
(-10.94 – 37.34)
0.281 9.34
(-21.45 – 40.12)
0.550
PeriodST AG ANT 19.22
(-7.88 – 46.32)
0.163 20.68
(-3.46 – 44.82)
0.092 10.62
(-20.16 – 41.41)
0.496
PeriodST AG DY ANT 19.29
(-7.81 – 46.39)
0.162 9.43
(-14.71 – 33.57)
0.441 32.21 *
(1.43 – 63.00)
0.040
PeriodST ANT 33.11 *
(6.01 – 60.21)
0.017 28.84 *
(4.70 – 52.98)
0.020 25.72
(-5.06 – 56.51)
0.101
Random Effects
σ2 1501.28 1191.19 1937.29
τ00 2047.64 ID 772.78 ID 154.31 ID
ICC 0.58 0.39 0.07
N 16 ID 16 ID 16 ID
Observations 144 144 144
Marginal R2 / Conditional R2 0.183 / 0.655 0.139 / 0.478 0.082 / 0.150
  • p<0.05   ** p<0.01   *** p<0.001
tab_model(JH_OPT_MODEL,Impulse_OPT_MODEL,  
          dv.labels = c("Jump Height (cm)", "Relative Net Impulse (N-s/bw)"),
          show.reflvl = T, show.intercept = T, p.style = "numeric_stars", collapse.ci = TRUE) 
  Jump Height (cm) Relative Net Impulse (N-s/bw)
Predictors Estimates p Estimates p
(Intercept) 29.82 ***
(23.14 – 36.50)
<0.001 0.38 **
(0.15 – 0.61)
0.002
BF -0.31
(-0.66 – 0.05)
0.087 0.00
(-0.01 – 0.01)
0.527
Depth_cm 0.01 ***
(0.01 – 0.02)
<0.001
PeriodDY AG 1.02
(-0.91 – 2.94)
0.298 0.00
(-0.10 – 0.11)
0.946
PeriodDY AG ANT 2.04 *
(0.08 – 4.00)
0.041 -0.03
(-0.14 – 0.07)
0.512
PeriodDY AG ST ANT 1.58
(-0.42 – 3.57)
0.120 -0.02
(-0.13 – 0.08)
0.666
PeriodDY ANT 0.64
(-1.29 – 2.57)
0.512 0.05
(-0.05 – 0.16)
0.308
PeriodST AG 0.33
(-1.60 – 2.27)
0.732 -0.03
(-0.13 – 0.08)
0.610
PeriodST AG ANT 0.40
(-1.52 – 2.32)
0.679 0.01
(-0.10 – 0.11)
0.920
PeriodST AG DY ANT 0.45
(-1.48 – 2.38)
0.647 -0.01
(-0.11 – 0.10)
0.910
PeriodST ANT 2.02 *
(0.08 – 3.97)
0.042 -0.05
(-0.15 – 0.06)
0.377
Weight 0.09
(-0.03 – 0.20)
0.152 0.00 *
(0.00 – 0.01)
0.016
Random Effects
σ2 7.33 0.02
τ00 161.69 ID 0.02 ID
τ11 0.26 ID.Depth_cm 0.00 ID.Depth_cm
ρ01 -0.99 ID -1.00 ID
ICC 0.96 0.32
N 16 ID 16 ID
Observations 144 144
Marginal R2 / Conditional R2 0.014 / 0.957 0.429 / 0.613
  • p<0.05   ** p<0.01   *** p<0.001